home *** CD-ROM | disk | FTP | other *** search
/ The Utilities Experience / The Utilities Experience - Volume 1.iso / software / misc / o-z / x-windows / mesa-amiwin / include / gl / gl.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-11-03  |  35.7 KB  |  1,276 lines

  1. /* gl.h */
  2.  
  3. /*
  4.  * Mesa 3-D graphics library
  5.  * Version:  1.2
  6.  * Copyright (C) 1995  Brian Paul  (brianp@ssec.wisc.edu)
  7.  *
  8.  * This library is free software; you can redistribute it and/or
  9.  * modify it under the terms of the GNU Library General Public
  10.  * License as published by the Free Software Foundation; either
  11.  * version 2 of the License, or (at your option) any later version.
  12.  *
  13.  * This library is distributed in the hope that it will be useful,
  14.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  16.  * Library General Public License for more details.
  17.  *
  18.  * You should have received a copy of the GNU Library General Public
  19.  * License along with this library; if not, write to the Free
  20.  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  */
  22.  
  23.  
  24. /*
  25. $Id: gl.h,v 1.15 1995/11/03 14:29:02 brianp Exp $
  26.  
  27. $Log: gl.h,v $
  28.  * Revision 1.15  1995/11/03  14:29:02  brianp
  29.  * added patches for CenterLine C++ per Steven Spitz
  30.  * cleaned up some comments
  31.  *
  32.  * Revision 1.14  1995/10/27  20:26:53  brianp
  33.  * added glPolygonOffsetEXT() and related GLenums
  34.  *
  35.  * Revision 1.13  1995/10/19  13:47:23  brianp
  36.  * GL_LINEAR_MIPMAP_NEAREST had wrong value
  37.  *
  38.  * Revision 1.12  1995/10/02  13:13:56  brianp
  39.  * removed an extra glColor4B prototype
  40.  *
  41.  * Revision 1.11  1995/09/28  13:17:48  brianp
  42.  * renamed GL_ALL_ATTRIB_BIT to GL_ALL_ATTRIB_BITS
  43.  *
  44.  * Revision 1.10  1995/08/13  17:26:02  brianp
  45.  * assign explicit values to all GLenum symbols to match OpenGL
  46.  *
  47.  * Revision 1.9  1995/05/30  13:17:38  brianp
  48.  * added glGetTexImage(), glGetMap[dfi]v() protos, GL_AUX[123], GL_COEF,
  49.  * GL_DOMAIN, GL_ORDER symbols
  50.  *
  51.  * Revision 1.8  1995/05/29  21:19:54  brianp
  52.  * added GL_TEXTURE_WIDTH, HEIGHT, BORDER, COMPONENTS symbols
  53.  * added glGetMaterial*, glGetPixelMap*, glGetTexGen*, glGetTexParameter* protos
  54.  *
  55.  * Revision 1.7  1995/05/22  17:03:21  brianp
  56.  * Release 1.2
  57.  *
  58.  * Revision 1.6  1995/04/28  20:04:03  brianp
  59.  * added GL_REPLACE_EXT texture symbol
  60.  * fixed glGetString and glGetLighiv prototypes
  61.  *
  62.  * Revision 1.5  1995/04/19  13:47:05  brianp
  63.  * renamed occurances of near and far for SCO x86 Unix
  64.  *
  65.  * Revision 1.4  1995/04/05  18:29:04  brianp
  66.  * added GL_EXT_blend_* compile-time symbols
  67.  *
  68.  * Revision 1.3  1995/03/10  16:28:41  brianp
  69.  * updated for blending extensions
  70.  *
  71.  * Revision 1.2  1995/03/04  19:45:47  brianp
  72.  * 1.1 beta revision
  73.  *
  74.  * Revision 1.1  1995/02/28  21:21:03  brianp
  75.  * Initial revision
  76.  *
  77.  */
  78.  
  79.  
  80. #ifndef GL_H
  81. #define GL_H
  82.  
  83.  
  84. #ifdef __cplusplus
  85. extern "C" {
  86. #endif
  87.  
  88.  
  89.  
  90.  
  91. /*
  92.  * Apps can test for this symbol to do conditional compilation if needed.
  93.  */
  94. #define MESA
  95.  
  96.  
  97.  
  98. /*
  99.  *
  100.  * Enumerations
  101.  *
  102.  */
  103.  
  104. typedef enum {
  105.     /* Boolean values */
  106.     GL_FALSE            = 0,
  107.     GL_TRUE                = 1,
  108.  
  109.     /* Data types */
  110.     GL_BYTE                = 0x1400,
  111.     GL_UNSIGNED_BYTE        = 0x1401,
  112.     GL_SHORT            = 0x1402,
  113.     GL_UNSIGNED_SHORT        = 0x1403,
  114.     GL_INT                = 0x1404,
  115.     GL_UNSIGNED_INT            = 0x1405,
  116.     GL_FLOAT            = 0x1406,
  117.     GL_2_BYTES            = 0x1407,
  118.     GL_3_BYTES            = 0x1408,
  119.     GL_4_BYTES            = 0x1409,
  120.  
  121.     /* Primitives */
  122.     GL_LINES            = 0x0001,
  123.     GL_POINTS            = 0x0000,
  124.     GL_LINE_STRIP            = 0x0003,
  125.     GL_LINE_LOOP            = 0x0002,
  126.     GL_TRIANGLES            = 0x0004,
  127.     GL_TRIANGLE_STRIP        = 0x0005,
  128.     GL_TRIANGLE_FAN            = 0x0006,
  129.     GL_QUADS            = 0x0007,
  130.     GL_QUAD_STRIP            = 0x0008,
  131.     GL_POLYGON            = 0x0009,
  132.     GL_EDGE_FLAG            = 0x0B43,
  133.  
  134.     /* Matrix Mode */
  135.     GL_MATRIX_MODE            = 0x0BA0,
  136.     GL_MODELVIEW            = 0x1700,
  137.     GL_PROJECTION            = 0x1701,
  138.     GL_TEXTURE            = 0x1702,
  139.  
  140.     /* Points */
  141.     GL_POINT_SMOOTH            = 0x0B10,
  142.     GL_POINT_SIZE            = 0x0B11,
  143.     GL_POINT_SIZE_GRANULARITY     = 0x0B13,
  144.     GL_POINT_SIZE_RANGE        = 0x0B12,
  145.  
  146.     /* Lines */
  147.     GL_LINE_SMOOTH            = 0x0B20,
  148.     GL_LINE_STIPPLE            = 0x0B24,
  149.     GL_LINE_STIPPLE_PATTERN        = 0x0B25,
  150.     GL_LINE_STIPPLE_REPEAT        = 0x0B26,
  151.     GL_LINE_WIDTH            = 0x0B21,
  152.     GL_LINE_WIDTH_GRANULARITY    = 0x0B23,
  153.     GL_LINE_WIDTH_RANGE        = 0x0B22,
  154.  
  155.     /* Polygons */
  156.     GL_POINT            = 0x1B00,
  157.     GL_LINE                = 0x1B01,
  158.     GL_FILL                = 0x1B02,
  159.     GL_CCW                = 0x0901,
  160.     GL_CW                = 0x0900,
  161.     GL_FRONT            = 0x0404,
  162.     GL_BACK                = 0x0405,
  163.     GL_CULL_FACE            = 0x0B44,
  164.     GL_CULL_FACE_MODE        = 0x0B45,
  165.     GL_POLYGON_SMOOTH        = 0x0B41,
  166.     GL_POLYGON_STIPPLE        = 0x0B42,
  167.     GL_FRONT_FACE            = 0x0B46,
  168.     GL_POLYGON_MODE            = 0x0B40,
  169.  
  170.     /* Display Lists */
  171.     GL_COMPILE            = 0x1300,
  172.     GL_COMPILE_AND_EXECUTE        = 0x1301,
  173.     GL_LIST_BASE            = 0x0B32,
  174.     GL_LIST_INDEX            = 0x0B33,
  175.     GL_LIST_MODE            = 0x0B30,
  176.  
  177.     /* Depth buffer */
  178.     GL_NEVER            = 0x0200,
  179.     GL_LESS                = 0x0201,
  180.     GL_GEQUAL            = 0x0206,
  181.     GL_LEQUAL            = 0x0203,
  182.     GL_GREATER            = 0x0204,
  183.     GL_NOTEQUAL            = 0x0205,
  184.     GL_EQUAL            = 0x0202,
  185.     GL_ALWAYS            = 0x0207,
  186.     GL_DEPTH_TEST            = 0x0B71,
  187.     GL_DEPTH_BITS            = 0x0D56,
  188.     GL_DEPTH_CLEAR_VALUE        = 0x0B73,
  189.     GL_DEPTH_FUNC            = 0x0B74,
  190.     GL_DEPTH_RANGE            = 0x0B70,
  191.     GL_DEPTH_WRITEMASK        = 0x0B72,
  192.     GL_DEPTH_COMPONENT        = 0x1902,
  193.  
  194.     /* Lighting */
  195.     GL_LIGHTING            = 0x0B50,
  196.     GL_LIGHT0            = 0x4000,
  197.     GL_LIGHT1            = 0x4001,
  198.     GL_LIGHT2            = 0x4002,
  199.     GL_LIGHT3            = 0x4003,
  200.     GL_LIGHT4            = 0x4004,
  201.     GL_LIGHT5            = 0x4005,
  202.     GL_LIGHT6            = 0x4006,
  203.     GL_LIGHT7            = 0x4007,
  204.     GL_SPOT_EXPONENT        = 0x1205,
  205.     GL_SPOT_CUTOFF            = 0x1206,
  206.     GL_CONSTANT_ATTENUATION        = 0x1207,
  207.     GL_LINEAR_ATTENUATION        = 0x1208,
  208.     GL_QUADRATIC_ATTENUATION    = 0x1209,
  209.     GL_AMBIENT            = 0x1200,
  210.     GL_DIFFUSE            = 0x1201,
  211.     GL_SPECULAR            = 0x1202,
  212.     GL_SHININESS            = 0x1601,
  213.     GL_EMISSION            = 0x1600,
  214.     GL_POSITION            = 0x1203,
  215.     GL_SPOT_DIRECTION        = 0x1204,
  216.     GL_AMBIENT_AND_DIFFUSE        = 0x1602,
  217.     GL_COLOR_INDEXES        = 0x1603,
  218.     GL_LIGHT_MODEL_TWO_SIDE        = 0x0B52,
  219.     GL_LIGHT_MODEL_LOCAL_VIEWER    = 0x0B51,
  220.     GL_LIGHT_MODEL_AMBIENT        = 0x0B53,
  221.     GL_FRONT_AND_BACK        = 0x0408,
  222.     GL_SHADE_MODEL            = 0x0B54,
  223.     GL_FLAT                = 0x1D00,
  224.     GL_SMOOTH            = 0x1D01,
  225.     GL_COLOR_MATERIAL        = 0x0B57,
  226.     GL_COLOR_MATERIAL_FACE        = 0x0B55,
  227.     GL_COLOR_MATERIAL_PARAMETER    = 0x0B56,
  228.     GL_NORMALIZE            = 0x0BA1,
  229.  
  230.     /* User clipping planes */
  231.     GL_CLIP_PLANE0            = 0x3000,
  232.     GL_CLIP_PLANE1            = 0x3001,
  233.     GL_CLIP_PLANE2            = 0x3002,
  234.     GL_CLIP_PLANE3            = 0x3003,
  235.     GL_CLIP_PLANE4            = 0x3004,
  236.     GL_CLIP_PLANE5            = 0x3005,
  237.  
  238.     /* Accumulation buffer */
  239.     GL_ACCUM_RED_BITS        = 0x0D58,
  240.     GL_ACCUM_GREEN_BITS        = 0x0D59,
  241.     GL_ACCUM_BLUE_BITS        = 0x0D5A,
  242.     GL_ACCUM_ALPHA_BITS        = 0x0D5B,
  243.     GL_ACCUM_CLEAR_VALUE        = 0x0B80,
  244.     GL_ACCUM            = 0x0100,
  245.     GL_ADD                = 0x0104,
  246.     GL_LOAD                = 0x0101,
  247.     GL_MULT                = 0x0103,
  248.     GL_RETURN            = 0x0102,
  249.  
  250.     /* Alpha testing */
  251.     GL_ALPHA_TEST            = 0x0BC0,
  252.     GL_ALPHA_TEST_REF        = 0x0BC2,
  253.     GL_ALPHA_TEST_FUNC        = 0x0BC1,
  254.  
  255.     /* Blending */
  256.     GL_BLEND            = 0x0BE2,
  257.     GL_BLEND_SRC            = 0x0BE1,
  258.     GL_BLEND_DST            = 0x0BE0,
  259.     GL_ZERO                = 0,
  260.     GL_ONE                = 1,
  261.     GL_SRC_COLOR            = 0x0300,
  262.     GL_ONE_MINUS_SRC_COLOR        = 0x0301,
  263.     GL_DST_COLOR            = 0x0306,
  264.     GL_ONE_MINUS_DST_COLOR        = 0x0307,
  265.     GL_SRC_ALPHA            = 0x0302,
  266.     GL_ONE_MINUS_SRC_ALPHA        = 0x0303,
  267.     GL_DST_ALPHA            = 0x0304,
  268.     GL_ONE_MINUS_DST_ALPHA        = 0x0305,
  269.     GL_SRC_ALPHA_SATURATE        = 0x0308,
  270.  
  271.     /* Render Mode */
  272.     GL_FEEDBACK            = 0x1C01,
  273.     GL_RENDER            = 0x1C00,
  274.     GL_SELECT            = 0x1C02,
  275.  
  276.     /* Feedback */
  277.     GL_2D                = 0x0600,
  278.     GL_3D                = 0x0601,
  279.     GL_3D_COLOR            = 0x0602,
  280.     GL_3D_COLOR_TEXTURE        = 0x0603,
  281.     GL_4D_COLOR_TEXTURE        = 0x0604,
  282.     GL_POINT_TOKEN            = 0x0701,
  283.     GL_LINE_TOKEN            = 0x0702,
  284.     GL_LINE_RESET_TOKEN        = 0x0707,
  285.     GL_POLYGON_TOKEN        = 0x0703,
  286.     GL_BITMAP_TOKEN            = 0x0704,
  287.     GL_DRAW_PIXEL_TOKEN        = 0x0705,
  288.     GL_COPY_PIXEL_TOKEN        = 0x0706,
  289.     GL_PASS_THROUGH_TOKEN        = 0x0700,
  290.  
  291.     /* Fog */
  292.     GL_FOG                = 0x0B60,
  293.     GL_FOG_MODE            = 0x0B65,
  294.     GL_FOG_DENSITY            = 0x0B62,
  295.     GL_FOG_COLOR            = 0x0B66,
  296.     GL_FOG_INDEX            = 0x0B61,
  297.     GL_FOG_START            = 0x0B63,
  298.     GL_FOG_END            = 0x0B64,
  299.     GL_LINEAR            = 0x2601,
  300.     GL_EXP                = 0x0800,
  301.     GL_EXP2                = 0x0801,
  302.  
  303.     /* Logic Ops */
  304.     GL_LOGIC_OP            = 0x0BF1,
  305.     GL_LOGIC_OP_MODE        = 0x0BF0,
  306.     GL_CLEAR            = 0x1500,
  307.     GL_SET                = 0x150F,
  308.     GL_COPY                = 0x1503,
  309.     GL_COPY_INVERTED        = 0x150C,
  310.     GL_NOOP                = 0x1505,
  311.     GL_INVERT            = 0x150A,
  312.     GL_AND                = 0x1501,
  313.     GL_NAND                = 0x150E,
  314.     GL_OR                = 0x1507,
  315.     GL_NOR                = 0x1508,
  316.     GL_XOR                = 0x1506,
  317.     GL_EQUIV            = 0x1509,
  318.     GL_AND_REVERSE            = 0x1502,
  319.     GL_AND_INVERTED            = 0x1504,
  320.     GL_OR_REVERSE            = 0x150B,
  321.     GL_OR_INVERTED            = 0x150D,
  322.  
  323.     /* Stencil */
  324.     GL_STENCIL_TEST            = 0x0B90,
  325.     GL_STENCIL_WRITEMASK        = 0x0B98,
  326.     GL_STENCIL_BITS            = 0x0D57,
  327.     GL_STENCIL_FUNC            = 0x0B92,
  328.     GL_STENCIL_VALUE_MASK        = 0x0B93,
  329.     GL_STENCIL_REF            = 0x0B97,
  330.     GL_STENCIL_FAIL            = 0x0B94,
  331.     GL_STENCIL_PASS_DEPTH_PASS    = 0x0B96,
  332.     GL_STENCIL_PASS_DEPTH_FAIL    = 0x0B95,
  333.     GL_STENCIL_CLEAR_VALUE        = 0x0B91,
  334.     GL_STENCIL_INDEX        = 0x1901,
  335.     GL_KEEP                = 0x1E00,
  336.     GL_REPLACE            = 0x1E01,
  337.     GL_INCR                = 0x1E02,
  338.     GL_DECR                = 0x1E03,
  339.  
  340.     /* Buffers, Pixel Drawing/Reading */
  341.     GL_NONE                = 0,
  342.     GL_LEFT                = 0x0406,
  343.     GL_RIGHT            = 0x0407,
  344.     /*GL_FRONT            = 0x0404, */
  345.     /*GL_BACK            = 0x0405, */
  346.     /*GL_FRONT_AND_BACK        = 0x0408, */
  347.     GL_FRONT_LEFT            = 0x0400,
  348.     GL_FRONT_RIGHT            = 0x0401,
  349.     GL_BACK_LEFT            = 0x0402,
  350.     GL_BACK_RIGHT            = 0x0403,
  351.     GL_AUX0                = 0x0409,
  352.     GL_AUX1                = 0x040A,
  353.     GL_AUX2                = 0x040B,
  354.     GL_AUX3                = 0x040C,
  355.     GL_COLOR_INDEX            = 0x1900,
  356.     GL_RED                = 0x1903,
  357.     GL_GREEN            = 0x1904,
  358.     GL_BLUE                = 0x1905,
  359.     GL_ALPHA            = 0x1906,
  360.     GL_LUMINANCE            = 0x1909,
  361.     GL_LUMINANCE_ALPHA        = 0x190A,
  362.     GL_ALPHA_BITS            = 0x0D55,
  363.     GL_RED_BITS            = 0x0D52,
  364.     GL_GREEN_BITS            = 0x0D53,
  365.     GL_BLUE_BITS            = 0x0D54,
  366.     GL_INDEX_BITS            = 0x0D51,
  367.     GL_SUBPIXEL_BITS        = 0x0D50,
  368.     GL_AUX_BUFFERS            = 0x0C00,
  369.     GL_READ_BUFFER            = 0x0C02,
  370.     GL_DRAW_BUFFER            = 0x0C01,
  371.     GL_DOUBLEBUFFER            = 0x0C32,
  372.     GL_STEREO            = 0x0C33,
  373.     GL_BITMAP            = 0x1A00,
  374.     GL_COLOR            = 0x1800,
  375.     GL_DEPTH            = 0x1801,
  376.     GL_STENCIL            = 0x1802,
  377.     GL_DITHER            = 0x0BD0,
  378.     GL_RGB                = 0x1907,
  379.     GL_RGBA                = 0x1908,
  380.  
  381.     /* Implementation limits */
  382.     GL_MAX_MODELVIEW_STACK_DEPTH    = 0x0D36,
  383.     GL_MAX_PROJECTION_STACK_DEPTH    = 0x0D38,
  384.     GL_MAX_TEXTURE_STACK_DEPTH    = 0x0D39,
  385.     GL_MAX_ATTRIB_STACK_DEPTH    = 0x0D35,
  386.     GL_MAX_NAME_STACK_DEPTH        = 0x0D37,
  387.     GL_MAX_LIST_NESTING        = 0x0B31,
  388.     GL_MAX_LIGHTS            = 0x0D31,
  389.     GL_MAX_CLIP_PLANES        = 0x0D32,
  390.     GL_MAX_VIEWPORT_DIMS        = 0x0D3A,
  391.     GL_MAX_PIXEL_MAP_TABLE        = 0x0D34,
  392.     GL_MAX_EVAL_ORDER        = 0x0D30,
  393.     GL_MAX_TEXTURE_SIZE        = 0x0D33,
  394.  
  395.     /* Gets */
  396.     GL_ATTRIB_STACK_DEPTH        = 0x0BB0,
  397.     GL_COLOR_CLEAR_VALUE        = 0x0C22,
  398.     GL_COLOR_WRITEMASK        = 0x0C23,
  399.     GL_CURRENT_INDEX        = 0x0B01,
  400.     GL_CURRENT_COLOR        = 0x0B00,
  401.     GL_CURRENT_NORMAL        = 0x0B02,
  402.     GL_CURRENT_RASTER_COLOR        = 0x0B04,
  403.     GL_CURRENT_RASTER_DISTANCE    = 0x0B09,
  404.     GL_CURRENT_RASTER_INDEX        = 0x0B05,
  405.     GL_CURRENT_RASTER_POSITION    = 0x0B07,
  406.     GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06,
  407.     GL_CURRENT_RASTER_POSITION_VALID = 0x0B08,
  408.     GL_CURRENT_TEXTURE_COORDS    = 0x0B03,
  409.     GL_INDEX_CLEAR_VALUE        = 0x0C20,
  410.     GL_INDEX_MODE            = 0x0C30,
  411.     GL_INDEX_WRITEMASK        = 0x0C21,
  412.     GL_MODELVIEW_MATRIX        = 0x0BA6,
  413.     GL_MODELVIEW_STACK_DEPTH    = 0x0BA3,
  414.     GL_NAME_STACK_DEPTH        = 0x0D70,
  415.     GL_PROJECTION_MATRIX        = 0x0BA7,
  416.     GL_PROJECTION_STACK_DEPTH    = 0x0BA4,
  417.     GL_RENDER_MODE            = 0x0C40,
  418.     GL_RGBA_MODE            = 0x0C31,
  419.     GL_TEXTURE_MATRIX        = 0x0BA8,
  420.     GL_TEXTURE_STACK_DEPTH        = 0x0BA5,
  421.     GL_VIEWPORT            = 0x0BA2,
  422.  
  423.  
  424.     /* Evaluators */
  425.     GL_AUTO_NORMAL            = 0x0D80,
  426.     GL_MAP1_COLOR_4            = 0x0D90,
  427.     GL_MAP1_GRID_DOMAIN        = 0x0DD0,
  428.     GL_MAP1_GRID_SEGMENTS        = 0x0DD1,
  429.     GL_MAP1_INDEX            = 0x0D91,
  430.     GL_MAP1_NORMAL            = 0x0D92,
  431.     GL_MAP1_TEXTURE_COORD_1        = 0x0D93,
  432.     GL_MAP1_TEXTURE_COORD_2        = 0x0D94,
  433.     GL_MAP1_TEXTURE_COORD_3        = 0x0D95,
  434.     GL_MAP1_TEXTURE_COORD_4        = 0x0D96,
  435.     GL_MAP1_VERTEX_3        = 0x0D97,
  436.     GL_MAP1_VERTEX_4        = 0x0D98,
  437.     GL_MAP2_COLOR_4            = 0x0DB0,
  438.     GL_MAP2_GRID_DOMAIN        = 0x0DD2,
  439.     GL_MAP2_GRID_SEGMENTS        = 0x0DD3,
  440.     GL_MAP2_INDEX            = 0x0DB1,
  441.     GL_MAP2_NORMAL            = 0x0DB2,
  442.     GL_MAP2_TEXTURE_COORD_1        = 0x0DB3,
  443.     GL_MAP2_TEXTURE_COORD_2        = 0x0DB4,
  444.     GL_MAP2_TEXTURE_COORD_3        = 0x0DB5,
  445.     GL_MAP2_TEXTURE_COORD_4        = 0x0DB6,
  446.     GL_MAP2_VERTEX_3        = 0x0DB7,
  447.     GL_MAP2_VERTEX_4        = 0x0DB8,
  448.     GL_COEFF            = 0x0A00,
  449.     GL_DOMAIN            = 0x0A02,
  450.     GL_ORDER            = 0x0A01,
  451.  
  452.     /* Hints */
  453.     GL_FOG_HINT            = 0x0C54,
  454.     GL_LINE_SMOOTH_HINT        = 0x0C52,
  455.     GL_PERSPECTIVE_CORRECTION_HINT    = 0x0C50,
  456.     GL_POINT_SMOOTH_HINT        = 0x0C51,
  457.     GL_POLYGON_SMOOTH_HINT        = 0x0C53,
  458.     GL_DONT_CARE            = 0x1100,
  459.     GL_FASTEST            = 0x1101,
  460.     GL_NICEST            = 0x1102,
  461.  
  462.     /* Scissor box */
  463.     GL_SCISSOR_TEST            = 0x0C11,
  464.     GL_SCISSOR_BOX            = 0x0C10,
  465.  
  466.     /* Pixel Mode / Transfer */
  467.     GL_MAP_COLOR            = 0x0D10,
  468.     GL_MAP_STENCIL            = 0x0D11,
  469.     GL_INDEX_SHIFT            = 0x0D12,
  470.     GL_INDEX_OFFSET            = 0x0D13,
  471.     GL_RED_SCALE            = 0x0D14,
  472.     GL_RED_BIAS            = 0x0D15,
  473.     GL_GREEN_SCALE            = 0x0D18,
  474.     GL_GREEN_BIAS            = 0x0D19,
  475.     GL_BLUE_SCALE            = 0x0D1A,
  476.     GL_BLUE_BIAS            = 0x0D1B,
  477.     GL_ALPHA_SCALE            = 0x0D1C,
  478.     GL_ALPHA_BIAS            = 0x0D1D,
  479.     GL_DEPTH_SCALE            = 0x0D1E,
  480.     GL_DEPTH_BIAS            = 0x0D1F,
  481.     GL_PIXEL_MAP_S_TO_S_SIZE    = 0x0CB1,
  482.     GL_PIXEL_MAP_I_TO_I_SIZE    = 0x0CB0,
  483.     GL_PIXEL_MAP_I_TO_R_SIZE    = 0x0CB2,
  484.     GL_PIXEL_MAP_I_TO_G_SIZE    = 0x0CB3,
  485.     GL_PIXEL_MAP_I_TO_B_SIZE    = 0x0CB4,
  486.     GL_PIXEL_MAP_I_TO_A_SIZE    = 0x0CB5,
  487.     GL_PIXEL_MAP_R_TO_R_SIZE    = 0x0CB6,
  488.     GL_PIXEL_MAP_G_TO_G_SIZE    = 0x0CB7,
  489.     GL_PIXEL_MAP_B_TO_B_SIZE    = 0x0CB8,
  490.     GL_PIXEL_MAP_A_TO_A_SIZE    = 0x0CB9,
  491.     GL_PIXEL_MAP_S_TO_S        = 0x0C71,
  492.     GL_PIXEL_MAP_I_TO_I        = 0x0C70,
  493.     GL_PIXEL_MAP_I_TO_R        = 0x0C72,
  494.     GL_PIXEL_MAP_I_TO_G        = 0x0C73,
  495.     GL_PIXEL_MAP_I_TO_B        = 0x0C74,
  496.     GL_PIXEL_MAP_I_TO_A        = 0x0C75,
  497.     GL_PIXEL_MAP_R_TO_R        = 0x0C76,
  498.     GL_PIXEL_MAP_G_TO_G        = 0x0C77,
  499.     GL_PIXEL_MAP_B_TO_B        = 0x0C78,
  500.     GL_PIXEL_MAP_A_TO_A        = 0x0C79,
  501.     GL_PACK_ALIGNMENT        = 0x0D05,
  502.     GL_PACK_LSB_FIRST        = 0x0D01,
  503.     GL_PACK_ROW_LENGTH        = 0x0D02,
  504.     GL_PACK_SKIP_PIXELS        = 0x0D04,
  505.     GL_PACK_SKIP_ROWS        = 0x0D03,
  506.     GL_PACK_SWAP_BYTES        = 0x0D00,
  507.     GL_UNPACK_ALIGNMENT        = 0x0CF5,
  508.     GL_UNPACK_LSB_FIRST        = 0x0CF1,
  509.     GL_UNPACK_ROW_LENGTH        = 0x0CF2,
  510.     GL_UNPACK_SKIP_PIXELS        = 0x0CF4,
  511.     GL_UNPACK_SKIP_ROWS        = 0x0CF3,
  512.     GL_UNPACK_SWAP_BYTES        = 0x0CF0,
  513.     GL_ZOOM_X            = 0x0D16,
  514.     GL_ZOOM_Y            = 0x0D17,
  515.  
  516.     /* Texture mapping */
  517.     GL_TEXTURE_ENV            = 0x2300,
  518.     GL_TEXTURE_ENV_MODE        = 0x2200,
  519.     GL_TEXTURE_1D            = 0x0DE0,
  520.     GL_TEXTURE_2D            = 0x0DE1,
  521.     GL_TEXTURE_WRAP_S        = 0x2802,
  522.     GL_TEXTURE_WRAP_T        = 0x2803,
  523.     GL_TEXTURE_MAG_FILTER        = 0x2800,
  524.     GL_TEXTURE_MIN_FILTER        = 0x2801,
  525.     GL_TEXTURE_ENV_COLOR        = 0x2201,
  526.     GL_TEXTURE_GEN_S        = 0x0C60,
  527.     GL_TEXTURE_GEN_T        = 0x0C61,
  528.     GL_TEXTURE_GEN_MODE        = 0x2500,
  529.     GL_TEXTURE_BORDER_COLOR        = 0x1004,
  530.     GL_TEXTURE_WIDTH        = 0x1000,
  531.     GL_TEXTURE_HEIGHT        = 0x1001,
  532.     GL_TEXTURE_BORDER        = 0x1005,
  533.     GL_TEXTURE_COMPONENTS        = 0x1003,
  534.     GL_NEAREST_MIPMAP_NEAREST    = 0x2700,
  535.     GL_NEAREST_MIPMAP_LINEAR    = 0x2702,
  536.     GL_LINEAR_MIPMAP_NEAREST    = 0x2701,
  537.     GL_LINEAR_MIPMAP_LINEAR        = 0x2703,
  538.     GL_OBJECT_LINEAR        = 0x2401,
  539.     GL_OBJECT_PLANE            = 0x2501,
  540.     GL_EYE_LINEAR            = 0x2400,
  541.     GL_EYE_PLANE            = 0x2502,
  542.     GL_SPHERE_MAP            = 0x2402,
  543.     GL_DECAL            = 0x2101,
  544.     GL_MODULATE            = 0x2100,
  545.     GL_NEAREST            = 0x2600,
  546.     GL_REPEAT            = 0x2901,
  547.     GL_CLAMP            = 0x2900,
  548.     GL_S                = 0x2000,
  549.     GL_T                = 0x2001,
  550.     GL_R                = 0x2002,
  551.     GL_Q                = 0x2003,
  552.     GL_TEXTURE_GEN_R        = 0x0C62,
  553.     GL_TEXTURE_GEN_Q        = 0x0C63,
  554.  
  555.     /* Utility */
  556.     GL_VENDOR            = 0x1F00,
  557.     GL_RENDERER            = 0x1F01,
  558.     GL_VERSION            = 0x1F02,
  559.     GL_EXTENSIONS            = 0x1F03,
  560.  
  561.     /* Errors */
  562.     GL_INVALID_VALUE        = 0x0501,
  563.     GL_INVALID_ENUM            = 0x0500,
  564.     GL_INVALID_OPERATION        = 0x0502,
  565.     GL_STACK_OVERFLOW        = 0x0503,
  566.     GL_STACK_UNDERFLOW        = 0x0504,
  567.     GL_OUT_OF_MEMORY        = 0x0505,
  568.  
  569.     /* Extensions */
  570.     GL_CONSTANT_COLOR_EXT        = 0x8001,
  571.     GL_ONE_MINUS_CONSTANT_COLOR_EXT    = 0x8002,
  572.     GL_CONSTANT_ALPHA_EXT        = 0x8003,
  573.     GL_ONE_MINUS_CONSTANT_ALPHA_EXT    = 0x8004,
  574.     GL_BLEND_EQUATION_EXT        = 0x8009,
  575.     GL_MIN_EXT            = 0x8007,
  576.     GL_MAX_EXT            = 0x8008,
  577.     GL_FUNC_ADD_EXT            = 0x8006,
  578.     GL_FUNC_SUBTRACT_EXT        = 0x800A,
  579.     GL_FUNC_REVERSE_SUBTRACT_EXT    = 0x800B,
  580.     GL_BLEND_COLOR_EXT        = 0x8005,
  581.     GL_REPLACE_EXT            = 0x8062,
  582.         GL_POLYGON_OFFSET_EXT           = 0x8037,
  583.         GL_POLYGON_OFFSET_FACTOR_EXT    = 0x8038,
  584.         GL_POLYGON_OFFSET_BIAS_EXT      = 0x8039
  585. }
  586. #ifdef CENTERLINE_CLPP
  587.   /* CenterLine C++ workaround: */
  588.   gl_enum;
  589.   typedef int GLenum;
  590. #else
  591.   /* all other compilers */
  592.   GLenum;
  593. #endif
  594.  
  595.  
  596. /* GL_NO_ERROR must be zero */
  597. #define GL_NO_ERROR GL_FALSE
  598.  
  599.  
  600.  
  601. typedef enum {
  602.     GL_CURRENT_BIT        = 0x00000001,
  603.     GL_POINT_BIT        = 0x00000002,
  604.     GL_LINE_BIT        = 0x00000004,
  605.     GL_POLYGON_BIT        = 0x00000008,
  606.     GL_POLYGON_STIPPLE_BIT    = 0x00000010,
  607.     GL_PIXEL_MODE_BIT    = 0x00000020,
  608.     GL_LIGHTING_BIT        = 0x00000040,
  609.     GL_FOG_BIT        = 0x00000080,
  610.     GL_DEPTH_BUFFER_BIT    = 0x00000100,
  611.     GL_ACCUM_BUFFER_BIT    = 0x00000200,
  612.     GL_STENCIL_BUFFER_BIT    = 0x00000400,
  613.     GL_VIEWPORT_BIT        = 0x00000800,
  614.     GL_TRANSFORM_BIT    = 0x00001000,
  615.     GL_ENABLE_BIT        = 0x00002000,
  616.     GL_COLOR_BUFFER_BIT    = 0x00004000,
  617.     GL_HINT_BIT        = 0x00008000,
  618.     GL_EVAL_BIT        = 0x00010000,
  619.     GL_LIST_BIT        = 0x00020000,
  620.     GL_TEXTURE_BIT        = 0x00040000,
  621.     GL_SCISSOR_BIT        = 0x00080000,
  622.     GL_ALL_ATTRIB_BITS    = 0x000fffff
  623. } GLbitfield;
  624.  
  625.  
  626. #ifdef CENTERLINE_CLPP
  627. #define signed
  628. #endif
  629.  
  630.  
  631. /*
  632.  *
  633.  * Data types (may be architecture dependent in some cases)
  634.  *
  635.  */
  636.  
  637. /*  C type        GL type        storage                            */
  638. /*-------------------------------------------------------------------------*/
  639. typedef void        GLvoid;
  640. typedef unsigned char    GLboolean;
  641. typedef signed char    GLbyte;        /* 1-byte signed */
  642. typedef short        GLshort;    /* 2-byte signed */
  643. typedef int        GLint;        /* 4-byte signed */
  644. typedef unsigned char    GLubyte;    /* 1-byte unsigned */
  645. typedef unsigned short    GLushort;    /* 2-byte unsigned */
  646. typedef unsigned int    GLuint;        /* 4-byte unsigned */
  647. typedef int        GLsizei;    /* 4-byte signed */
  648. typedef float        GLfloat;    /* single precision float */
  649. typedef float        GLclampf;    /* single precision float in [0,1] */
  650. typedef double        GLdouble;    /* double precision float */
  651. typedef double        GLclampd;    /* double precision float in [0,1] */
  652.  
  653.  
  654.  
  655.  
  656. /*
  657.  * Miscellaneous
  658.  */
  659.  
  660. extern void glClearIndex( GLfloat c );
  661.  
  662. extern void glClearColor( GLclampf red,
  663.               GLclampf green,
  664.               GLclampf blue,
  665.               GLclampf alpha );
  666.  
  667. extern void glClear( GLbitfield mask );
  668.  
  669. extern void glIndexMask( GLuint mask );
  670.  
  671. extern void glColorMask( GLboolean red, GLboolean green,
  672.              GLboolean blue, GLboolean alpha );
  673.  
  674. extern void glAlphaFunc( GLenum func, GLclampf ref );
  675.  
  676. extern void glBlendFunc( GLenum sfactor, GLenum dfactor );
  677.  
  678. extern void glLogicOp( GLenum opcode );
  679.  
  680. extern void glCullFace( GLenum mode );
  681.  
  682. extern void glFrontFace( GLenum mode );
  683.  
  684. extern void glPointSize( GLfloat size );
  685.  
  686. extern void glLineWidth( GLfloat width );
  687.  
  688. extern void glLineStipple( GLint factor, GLushort pattern );
  689.  
  690. extern void glPolygonMode( GLenum face, GLenum mode );
  691.  
  692. extern void glPolygonStipple( const GLubyte *mask );
  693.  
  694. extern void glGetPolygonStipple( GLubyte *mask );
  695.  
  696. extern void glEdgeFlag( GLboolean flag );
  697.  
  698. extern void glEdgeFlagv( const GLboolean *flag );
  699.  
  700. extern void glScissor( GLint x, GLint y, GLsizei width, GLsizei height);
  701.  
  702. extern void glClipPlane( GLenum plane, const GLdouble *equation );
  703.  
  704. extern void glGetClipPlane( GLenum plane, GLdouble *equation );
  705.  
  706. extern void glDrawBuffer( GLenum mode );
  707.  
  708. extern void glReadBuffer( GLenum mode );
  709.  
  710. extern void glEnable( GLenum cap );
  711.  
  712. extern void glDisable( GLenum cap );
  713.  
  714. extern GLboolean glIsEnabled( GLenum cap );
  715.  
  716.  
  717. extern void glGetBooleanv( GLenum pname, GLboolean *params );
  718.  
  719. extern void glGetDoublev( GLenum pname, GLdouble *params );
  720.  
  721. extern void glGetFloatv( GLenum pname, GLfloat *params );
  722.  
  723. extern void glGetIntegerv( GLenum pname, GLint *params );
  724.  
  725.  
  726. extern void glPushAttrib( GLbitfield mask );
  727.  
  728. extern void glPopAttrib( void );
  729.  
  730.  
  731. extern GLint glRenderMode( GLenum mode );
  732.  
  733. extern GLenum glGetError( void );
  734.  
  735. extern const GLubyte *glGetString( GLenum name );
  736.  
  737. extern void glFinish( void );
  738.  
  739. extern void glFlush( void );
  740.  
  741. extern void glHint( GLenum target, GLenum mode );
  742.  
  743.  
  744.  
  745. /*
  746.  * Depth Buffer
  747.  */
  748.  
  749. extern void glClearDepth( GLclampd depth );
  750.  
  751. extern void glDepthFunc( GLenum func );
  752.  
  753. extern void glDepthMask( GLboolean flag );
  754.  
  755. extern void glDepthRange( GLclampd near_val, GLclampd far_val );
  756.  
  757.  
  758. /*
  759.  * Accumulation Buffer
  760.  */
  761.  
  762. extern void glClearAccum( GLfloat red, GLfloat green,
  763.               GLfloat blue, GLfloat alpha );
  764.  
  765. extern void glAccum( GLenum op, GLfloat value );
  766.  
  767.  
  768.  
  769. /*
  770.  * Transformation
  771.  */
  772.  
  773. extern void glMatrixMode( GLenum mode );
  774.  
  775. extern void glOrtho( GLdouble left, GLdouble right,
  776.              GLdouble bottom, GLdouble top,
  777.              GLdouble near_val, GLdouble far_val );
  778.  
  779. extern void glFrustum( GLdouble left, GLdouble right,
  780.                GLdouble bottom, GLdouble top,
  781.                GLdouble near_val, GLdouble far_val );
  782.  
  783. extern void glViewport( GLint x, GLint y, GLsizei width, GLsizei height );
  784.  
  785. extern void glPushMatrix( void );
  786.  
  787. extern void glPopMatrix( void );
  788.  
  789. extern void glLoadIdentity( void );
  790.  
  791. extern void glLoadMatrixd( const GLdouble *m );
  792. extern void glLoadMatrixf( const GLfloat *m );
  793.  
  794. extern void glMultMatrixd( const GLdouble *m );
  795. extern void glMultMatrixf( const GLfloat *m );
  796.  
  797. extern void glRotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z );
  798. extern void glRotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z );
  799.  
  800. extern void glScaled( GLdouble x, GLdouble y, GLdouble z );
  801. extern void glScalef( GLfloat x, GLfloat y, GLfloat z );
  802.  
  803. extern void glTranslated( GLdouble x, GLdouble y, GLdouble z );
  804. extern void glTranslatef( GLfloat x, GLfloat y, GLfloat z );
  805.  
  806.  
  807.  
  808. /*
  809.  * Display Lists
  810.  */
  811.  
  812. extern GLboolean glIsList( GLuint list );
  813.  
  814. extern void glDeleteLists( GLuint list, GLsizei range );
  815.  
  816. extern GLuint glGenLists( GLsizei range );
  817.  
  818. extern void glNewList( GLuint list, GLenum mode );
  819.  
  820. extern void glEndList( void );
  821.  
  822. extern void glCallList( GLuint list );
  823.  
  824. extern void glCallLists( GLsizei n, GLenum type, const GLvoid *lists );
  825.  
  826. extern void glListBase( GLuint base );
  827.  
  828.  
  829.  
  830. /*
  831.  * Drawing Functions
  832.  */
  833.  
  834. extern void glBegin( GLenum mode );
  835.  
  836. extern void glEnd( void );
  837.  
  838.  
  839. extern void glVertex2d( GLdouble x, GLdouble y );
  840. extern void glVertex2f( GLfloat x, GLfloat y );
  841. extern void glVertex2i( GLint x, GLint y );
  842. extern void glVertex2s( GLshort x, GLshort y );
  843.  
  844. extern void glVertex3d( GLdouble x, GLdouble y, GLdouble z );
  845. extern void glVertex3f( GLfloat x, GLfloat y, GLfloat z );
  846. extern void glVertex3i( GLint x, GLint y, GLint z );
  847. extern void glVertex3s( GLshort x, GLshort y, GLshort z );
  848.  
  849. extern void glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
  850. extern void glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
  851. extern void glVertex4i( GLint x, GLint y, GLint z, GLint w );
  852. extern void glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
  853.  
  854. extern void glVertex2dv( const GLdouble *v );
  855. extern void glVertex2fv( const GLfloat *v );
  856. extern void glVertex2iv( const GLint *v );
  857. extern void glVertex2sv( const GLshort *v );
  858.  
  859. extern void glVertex3dv( const GLdouble *v );
  860. extern void glVertex3fv( const GLfloat *v );
  861. extern void glVertex3iv( const GLint *v );
  862. extern void glVertex3sv( const GLshort *v );
  863.  
  864. extern void glVertex4dv( const GLdouble *v );
  865. extern void glVertex4fv( const GLfloat *v );
  866. extern void glVertex4iv( const GLint *v );
  867. extern void glVertex4sv( const GLshort *v );
  868.  
  869.  
  870. extern void glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
  871. extern void glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );
  872. extern void glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );
  873. extern void glNormal3i( GLint nx, GLint ny, GLint nz );
  874. extern void glNormal3s( GLshort nx, GLshort ny, GLshort nz );
  875.  
  876. extern void glNormal3bv( const GLbyte *v );
  877. extern void glNormal3dv( const GLdouble *v );
  878. extern void glNormal3fv( const GLfloat *v );
  879. extern void glNormal3iv( const GLint *v );
  880. extern void glNormal3sv( const GLshort *v );
  881.  
  882.  
  883. extern void glIndexd( GLdouble c );
  884. extern void glIndexf( GLfloat c );
  885. extern void glIndexi( GLint c );
  886. extern void glIndexs( GLshort c );
  887.  
  888. extern void glIndexdv( const GLdouble *c );
  889. extern void glIndexfv( const GLfloat *c );
  890. extern void glIndexiv( const GLint *c );
  891. extern void glIndexsv( const GLshort *c );
  892.  
  893.  
  894. extern void glColor3b( GLbyte red, GLbyte green, GLbyte blue );
  895. extern void glColor3d( GLdouble red, GLdouble green, GLdouble blue );
  896. extern void glColor3f( GLfloat red, GLfloat green, GLfloat blue );
  897. extern void glColor3i( GLint red, GLint green, GLint blue );
  898. extern void glColor3s( GLshort red, GLshort green, GLshort blue );
  899. extern void glColor3ub( GLubyte red, GLubyte green, GLubyte blue );
  900. extern void glColor3ui( GLuint red, GLuint green, GLuint blue );
  901. extern void glColor3us( GLushort red, GLushort green, GLushort blue );
  902.  
  903. extern void glColor4b( GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha );
  904. extern void glColor4d( GLdouble red, GLdouble green,
  905.                GLdouble blue, GLdouble alpha );
  906. extern void glColor4f( GLfloat red, GLfloat green,
  907.                GLfloat blue, GLfloat alpha );
  908. extern void glColor4i( GLint red, GLint green, GLint blue, GLint alpha );
  909. extern void glColor4s( GLshort red, GLshort green,
  910.                GLshort blue, GLshort alpha );
  911. extern void glColor4ub( GLubyte red, GLubyte green,
  912.             GLubyte blue, GLubyte alpha );
  913. extern void glColor4ui( GLuint red, GLuint green, GLuint blue, GLuint alpha );
  914. extern void glColor4us( GLushort red, GLushort green,
  915.             GLushort blue, GLushort alpha );
  916.  
  917.  
  918. extern void glColor3bv( const GLbyte *v );
  919. extern void glColor3dv( const GLdouble *v );
  920. extern void glColor3fv( const GLfloat *v );
  921. extern void glColor3iv( const GLint *v );
  922. extern void glColor3sv( const GLshort *v );
  923. extern void glColor3ubv( const GLubyte *v );
  924. extern void glColor3uiv( const GLuint *v );
  925. extern void glColor3usv( const GLushort *v );
  926.  
  927. extern void glColor4bv( const GLbyte *v );
  928. extern void glColor4dv( const GLdouble *v );
  929. extern void glColor4fv( const GLfloat *v );
  930. extern void glColor4iv( const GLint *v );
  931. extern void glColor4sv( const GLshort *v );
  932. extern void glColor4ubv( const GLubyte *v );
  933. extern void glColor4uiv( const GLuint *v );
  934. extern void glColor4usv( const GLushort *v );
  935.  
  936.  
  937. extern void glTexCoord1d( GLdouble s );
  938. extern void glTexCoord1f( GLfloat s );
  939. extern void glTexCoord1i( GLint s );
  940. extern void glTexCoord1s( GLshort s );
  941.  
  942. extern void glTexCoord2d( GLdouble s, GLdouble t );
  943. extern void glTexCoord2f( GLfloat s, GLfloat t );
  944. extern void glTexCoord2i( GLint s, GLint t );
  945. extern void glTexCoord2s( GLshort s, GLshort t );
  946.  
  947. extern void glTexCoord3d( GLdouble s, GLdouble t, GLdouble r );
  948. extern void glTexCoord3f( GLfloat s, GLfloat t, GLfloat r );
  949. extern void glTexCoord3i( GLint s, GLint t, GLint r );
  950. extern void glTexCoord3s( GLshort s, GLshort t, GLshort r );
  951.  
  952. extern void glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
  953. extern void glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
  954. extern void glTexCoord4i( GLint s, GLint t, GLint r, GLint q );
  955. extern void glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );
  956.  
  957. extern void glTexCoord1dv( const GLdouble *v );
  958. extern void glTexCoord1fv( const GLfloat *v );
  959. extern void glTexCoord1iv( const GLint *v );
  960. extern void glTexCoord1sv( const GLshort *v );
  961.  
  962. extern void glTexCoord2dv( const GLdouble *v );
  963. extern void glTexCoord2fv( const GLfloat *v );
  964. extern void glTexCoord2iv( const GLint *v );
  965. extern void glTexCoord2sv( const GLshort *v );
  966.  
  967. extern void glTexCoord3dv( const GLdouble *v );
  968. extern void glTexCoord3fv( const GLfloat *v );
  969. extern void glTexCoord3iv( const GLint *v );
  970. extern void glTexCoord3sv( const GLshort *v );
  971.  
  972. extern void glTexCoord4dv( const GLdouble *v );
  973. extern void glTexCoord4fv( const GLfloat *v );
  974. extern void glTexCoord4iv( const GLint *v );
  975. extern void glTexCoord4sv( const GLshort *v );
  976.  
  977.  
  978. extern void glRasterPos2d( GLdouble x, GLdouble y );
  979. extern void glRasterPos2f( GLfloat x, GLfloat y );
  980. extern void glRasterPos2i( GLint x, GLint y );
  981. extern void glRasterPos2s( GLshort x, GLshort y );
  982.  
  983. extern void glRasterPos3d( GLdouble x, GLdouble y, GLdouble z );
  984. extern void glRasterPos3f( GLfloat x, GLfloat y, GLfloat z );
  985. extern void glRasterPos3i( GLint x, GLint y, GLint z );
  986. extern void glRasterPos3s( GLshort x, GLshort y, GLshort z );
  987.  
  988. extern void glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
  989. extern void glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
  990. extern void glRasterPos4i( GLint x, GLint y, GLint z, GLint w );
  991. extern void glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w );
  992.  
  993. extern void glRasterPos2dv( const GLdouble *v );
  994. extern void glRasterPos2fv( const GLfloat *v );
  995. extern void glRasterPos2iv( const GLint *v );
  996. extern void glRasterPos2sv( const GLshort *v );
  997.  
  998. extern void glRasterPos3dv( const GLdouble *v );
  999. extern void glRasterPos3fv( const GLfloat *v );
  1000. extern void glRasterPos3iv( const GLint *v );
  1001. extern void glRasterPos3sv( const GLshort *v );
  1002.  
  1003. extern void glRasterPos4dv( const GLdouble *v );
  1004. extern void glRasterPos4fv( const GLfloat *v );
  1005. extern void glRasterPos4iv( const GLint *v );
  1006. extern void glRasterPos4sv( const GLshort *v );
  1007.  
  1008.  
  1009. extern void glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
  1010. extern void glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
  1011. extern void glRecti( GLint x1, GLint y1, GLint x2, GLint y2 );
  1012. extern void glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
  1013.  
  1014.  
  1015. extern void glRectdv( const GLdouble *v1, const GLdouble *v2 );
  1016. extern void glRectfv( const GLfloat *v1, const GLfloat *v2 );
  1017. extern void glRectiv( const GLint *v1, const GLint *v2 );
  1018. extern void glRectsv( const GLshort *v1, const GLshort *v2 );
  1019.  
  1020.  
  1021.  
  1022. /*
  1023.  * Lighting
  1024.  */
  1025.  
  1026. extern void glShadeModel( GLenum mode );
  1027.  
  1028. extern void glLightf( GLenum light, GLenum pname, GLfloat param );
  1029. extern void glLighti( GLenum light, GLenum pname, GLint param );
  1030. extern void glLightfv( GLenum light, GLenum pname, const GLfloat *params );
  1031. extern void glLightiv( GLenum light, GLenum pname, const GLint *params );
  1032.  
  1033. extern void glGetLightfv( GLenum light, GLenum pname, GLfloat *params );
  1034. extern void glGetLightiv( GLenum light, GLenum pname, GLint *params );
  1035.  
  1036. extern void glLightModelf( GLenum pname, GLfloat param );
  1037. extern void glLightModeli( GLenum pname, GLint param );
  1038. extern void glLightModelfv( GLenum pname, const GLfloat *params );
  1039. extern void glLightModeliv( GLenum pname, const GLint *params );
  1040.  
  1041. extern void glMaterialf( GLenum face, GLenum pname, GLfloat param );
  1042. extern void glMateriali( GLenum face, GLenum pname, GLint param );
  1043. extern void glMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
  1044. extern void glMaterialiv( GLenum face, GLenum pname, const GLint *params );
  1045.  
  1046. extern void glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params );
  1047. extern void glGetMaterialiv( GLenum face, GLenum pname, GLint *params );
  1048.  
  1049. extern void glColorMaterial( GLenum face, GLenum mode );
  1050.  
  1051.  
  1052.  
  1053.  
  1054. /*
  1055.  * Raster functions
  1056.  */
  1057.  
  1058. extern void glPixelZoom( GLfloat xfactor, GLfloat yfactor );
  1059.  
  1060. extern void glPixelStoref( GLenum pname, GLfloat param );
  1061. extern void glPixelStorei( GLenum pname, GLint param );
  1062.  
  1063. extern void glPixelTransferf( GLenum pname, GLfloat param );
  1064. extern void glPixelTransferi( GLenum pname, GLint param );
  1065.  
  1066. extern void glPixelMapfv( GLenum map, GLint mapsize, const GLfloat *values );
  1067. extern void glPixelMapuiv( GLenum map, GLint mapsize, const GLuint *values );
  1068. extern void glPixelMapusv( GLenum map, GLint mapsize, const GLushort *values );
  1069.  
  1070. extern void glGetPixelMapfv( GLenum map, GLfloat *values );
  1071. extern void glGetPixelMapuiv( GLenum map, GLuint *values );
  1072. extern void glGetPixelMapusv( GLenum map, GLushort *values );
  1073.  
  1074. extern void glBitmap( GLsizei width, GLsizei height,
  1075.               GLfloat xorig, GLfloat yorig,
  1076.               GLfloat xmove, GLfloat ymove,
  1077.               const GLubyte *bitmap );
  1078.  
  1079. extern void glReadPixels( GLint x, GLint y, GLsizei width, GLsizei height,
  1080.               GLenum format, GLenum type, GLvoid *pixels );
  1081.  
  1082. extern void glDrawPixels( GLsizei width, GLsizei height,
  1083.               GLenum format, GLenum type, const GLvoid *pixels );
  1084.  
  1085. extern void glCopyPixels( GLint x, GLint y, GLsizei width, GLsizei height,
  1086.               GLenum type );
  1087.  
  1088.  
  1089.  
  1090. /*
  1091.  * Stenciling
  1092.  */
  1093.  
  1094. extern void glStencilFunc( GLenum func, GLint ref, GLuint mask );
  1095.  
  1096. extern void glStencilMask( GLuint mask );
  1097.  
  1098. extern void glStencilOp( GLenum fail, GLenum zfail, GLenum zpass );
  1099.  
  1100. extern void glClearStencil( GLint s );
  1101.  
  1102.  
  1103.  
  1104. /*
  1105.  * Texture mapping
  1106.  */
  1107.  
  1108. extern void glTexGend( GLenum coord, GLenum pname, GLdouble param );
  1109. extern void glTexGenf( GLenum coord, GLenum pname, GLfloat param );
  1110. extern void glTexGeni( GLenum coord, GLenum pname, GLint param );
  1111.  
  1112. extern void glTexGendv( GLenum coord, GLenum pname, const GLdouble *params );
  1113. extern void glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params );
  1114. extern void glTexGeniv( GLenum coord, GLenum pname, const GLint *params );
  1115.  
  1116. extern void glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
  1117. extern void glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
  1118. extern void glGetTexGeniv( GLenum coord, GLenum pname, GLint *params );
  1119.  
  1120.  
  1121. extern void glTexEnvf( GLenum target, GLenum pname, GLfloat param );
  1122. extern void glTexEnvi( GLenum target, GLenum pname, GLint param );
  1123.  
  1124. extern void glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );
  1125. extern void glTexEnviv( GLenum target, GLenum pname, const GLint *params );
  1126.  
  1127. extern void glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
  1128. extern void glGetTexEnviv( GLenum target, GLenum pname, GLint *params );
  1129.  
  1130.  
  1131. extern void glTexParameterf( GLenum target, GLenum pname, GLfloat param );
  1132. extern void glTexParameteri( GLenum target, GLenum pname, GLint param );
  1133.  
  1134. extern void glTexParameterfv( GLenum target, GLenum pname,
  1135.                   const GLfloat *params );
  1136. extern void glTexParameteriv( GLenum target, GLenum pname,
  1137.                   const GLint *params );
  1138.  
  1139. extern void glGetTexParameterfv( GLenum target, GLenum pname, GLfloat *params);
  1140. extern void glGetTexParameteriv( GLenum target, GLenum pname, GLint *params );
  1141.  
  1142. extern void glGetTexLevelParameterfv( GLenum target, GLint level,
  1143.                       GLenum pname, GLfloat *params );
  1144. extern void glGetTexLevelParameteriv( GLenum target, GLint level,
  1145.                       GLenum pname, GLint *params );
  1146.  
  1147.  
  1148. extern void glTexImage1D( GLenum target, GLint level, GLint components,
  1149.               GLsizei width, GLint border,
  1150.               GLenum format, GLenum type, const GLvoid *pixels );
  1151.  
  1152. extern void glTexImage2D( GLenum target, GLint level, GLint components,
  1153.               GLsizei width, GLsizei height, GLint border,
  1154.               GLenum format, GLenum type, const GLvoid *pixels );
  1155.  
  1156. extern void glGetTexImage( GLenum target, GLint level, GLenum format,
  1157.                GLenum type, GLvoid *pixels );
  1158.  
  1159.  
  1160.  
  1161. /*
  1162.  * Evaluators
  1163.  */
  1164.  
  1165. extern void glMap1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride,
  1166.              GLint order, const GLdouble *points );
  1167. extern void glMap1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride,
  1168.              GLint order, const GLfloat *points );
  1169.  
  1170. extern void glMap2d( GLenum target,
  1171.              GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
  1172.              GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
  1173.              const GLdouble *points );
  1174. extern void glMap2f( GLenum target,
  1175.              GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
  1176.              GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
  1177.              const GLfloat *points );
  1178.  
  1179. extern void glGetMapdv( GLenum target, GLenum query, GLdouble *v );
  1180. extern void glGetMapfv( GLenum target, GLenum query, GLfloat *v );
  1181. extern void glGetMapiv( GLenum target, GLenum query, GLint *v );
  1182.  
  1183. extern void glEvalCoord1d( GLdouble u );
  1184. extern void glEvalCoord1f( GLfloat u );
  1185.  
  1186. extern void glEvalCoord1dv( const GLdouble *u );
  1187. extern void glEvalCoord1fv( const GLfloat *u );
  1188.  
  1189. extern void glEvalCoord2d( GLdouble u, GLdouble v );
  1190. extern void glEvalCoord2f( GLfloat u, GLfloat v );
  1191.  
  1192. extern void glEvalCoord2dv( const GLdouble *u );
  1193. extern void glEvalCoord2fv( const GLfloat *u );
  1194.  
  1195. extern void glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
  1196. extern void glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
  1197.  
  1198. extern void glMapGrid2d( GLint un, GLdouble u1, GLdouble u2,
  1199.              GLint vn, GLdouble v1, GLdouble v2 );
  1200. extern void glMapGrid2f( GLint un, GLfloat u1, GLfloat u2,
  1201.              GLint vn, GLfloat v1, GLfloat v2 );
  1202.  
  1203. extern void glEvalPoint1( GLint i );
  1204.  
  1205. extern void glEvalPoint2( GLint i, GLint j );
  1206.  
  1207. extern void glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
  1208.  
  1209. extern void glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
  1210.  
  1211.  
  1212.  
  1213. /*
  1214.  * Fog
  1215.  */
  1216.  
  1217. extern void glFogf( GLenum pname, GLfloat param );
  1218.  
  1219. extern void glFogi( GLenum pname, GLint param );
  1220.  
  1221. extern void glFogfv( GLenum pname, const GLfloat *params );
  1222.  
  1223. extern void glFogiv( GLenum pname, const GLint *params );
  1224.  
  1225.  
  1226.  
  1227. /*
  1228.  * Selection and Feedback
  1229.  */
  1230.  
  1231. extern void glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
  1232.  
  1233. extern void glPassThrough( GLfloat token );
  1234.  
  1235. extern void glSelectBuffer( GLsizei size, GLuint *buffer );
  1236.  
  1237. extern void glInitNames( void );
  1238.  
  1239. extern void glLoadName( GLuint name );
  1240.  
  1241. extern void glPushName( GLuint name );
  1242.  
  1243. extern void glPopName( void );
  1244.  
  1245.  
  1246.  
  1247. /*
  1248.  * Extensions
  1249.  */
  1250.  
  1251. extern void glBlendEquationEXT( GLenum mode );
  1252.  
  1253. extern void glBlendColorEXT( GLclampf red, GLclampf green,
  1254.                  GLclampf blue, GLclampf alpha );
  1255.  
  1256.  
  1257. extern void glPolygonOffsetEXT( GLfloat factor, GLfloat bias );
  1258.  
  1259.  
  1260. /*
  1261.  * Compile-time tests for extensions:
  1262.  */
  1263. #define GL_EXT_blend_color    1
  1264. #define GL_EXT_blend_logic_op    1
  1265. #define GL_EXT_blend_minmax    1
  1266. #define GL_EXT_blend_subtract    1
  1267. #define GL_EXT_polygon_offset    1
  1268.  
  1269.  
  1270.  
  1271. #ifdef __cplusplus
  1272. }
  1273. #endif
  1274.  
  1275. #endif
  1276.